package com.topisv.tms.entity.work;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import com.topisv.tms.entity.AreaGroup;
import com.topisv.tms.entity.Customers;
import com.topisv.tms.entity.IdEntity;
import com.topisv.tms.entity.User;

/**
 * 作业批次
 * @author ch
 *
 */
@Entity
@Table(name = "work_batch")
public class WorkBatch extends IdEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private String batchType; //批次类型 （tms: 集发宝 bms: 分仓宝 wms: 商发宝）
	
	private String batchCode; //批次编号
	
	private String pickType; //任务类型 (single 单件 mulit: 多件)
	
	private Integer orderQty; //订单数量
	
	private String customerCode; //客户编码
	
	private Long createrId; //创建人
	
	private Date createTime; //创建时间
	
	private Date finishTime; //完成时间
	
	private String status; //批次状态 (1.未处理 2.已创建任务 3.已处理)
	
	private String warehouseCode; //商家编码
	
	private String billType; //运单类型 （cbill:普通运单    ebill:电子运单）
	
	private String flowType; //作业模式 （prePrint: 预先打单 ， intimePrint: 及时打单 ）
	
	private String companyCode;//快递公司
	
	private String syncStatus;//出库批次推送状态
	
	private String tacticsType;//拣选策略 skufirst:sku集中策略 timefirst:时间优先策略 onesku:单品合拣策略 prepkg:预包装策略 wholePile:整托拣选策略
	
	private String prioritySendFlag;//优先派送标志 0:否 1:是  
    
    public String getPrioritySendFlag() {
		return prioritySendFlag;
	}
	public void setPrioritySendFlag(String prioritySendFlag) {
		this.prioritySendFlag = prioritySendFlag;
	}
	
	public String getSyncStatus() {
		return syncStatus;
	}

	public void setSyncStatus(String syncStatus) {
		this.syncStatus = syncStatus;
	}

	public String getCompanyCode() {
		return companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	public String getFlowType() {
		return flowType;
	}
	
	public Date getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(Date finishTime) {
		this.finishTime = finishTime;
	}



	public void setFlowType(String flowType) {
		this.flowType = flowType;
	}

	public String getBillType() {
		return billType;
	}

	public void setBillType(String billType) {
		this.billType = billType;
	}

	public String getWarehouseCode() {
		return warehouseCode;
	}

	public void setWarehouseCode(String warehouseCode) {
		this.warehouseCode = warehouseCode;
	}

	public String getBatchType() {
		return batchType;
	}



	public void setBatchType(String batchType) {
		this.batchType = batchType;
	}

	public String getBatchCode() {
		return batchCode;
	}

	public void setBatchCode(String batchCode) {
		this.batchCode = batchCode;
	}

	public String getPickType() {
		return pickType;
	}

	public void setPickType(String pickType) {
		this.pickType = pickType;
	}

	public Integer getOrderQty() {
		return orderQty;
	}

	public void setOrderQty(Integer orderQty) {
		this.orderQty = orderQty;
	}

	public String getCustomerCode() {
		return customerCode;
	}

	public void setCustomerCode(String customerCode) {
		this.customerCode = customerCode;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	

	public Long getCreaterId() {
		return createrId;
	}

	public void setCreaterId(Long createrId) {
		this.createrId = createrId;
	}

	//dto属性
	private User creater;
	
	private Customers customer;
	
	private AreaGroup warehouse;
	
	@Transient
	public User getCreater() {
		return creater;
	}

	public void setCreater(User creater) {
		this.creater = creater;
	}

	@Transient
	public Customers getCustomer() {
		return customer;
	}

	public void setCustomer(Customers customer) {
		this.customer = customer;
	}

	@Transient
	public AreaGroup getWarehouse() {
		return warehouse;
	}

	public void setWarehouse(AreaGroup warehouse) {
		this.warehouse = warehouse;
	}

	public String getTacticsType() {
		return tacticsType;
	}

	public void setTacticsType(String tacticsType) {
		this.tacticsType = tacticsType;
	}
	
	
	
	
 
}